public class CourtStateFreeThrow : AbstractCourtState
{
	public static CourtStateFreeThrow instance;

	private CourtStateFreeThrow()
	{
	}

	public static CourtStateFreeThrow getInstance()
	{
		if (instance == null)
		{
			instance = new CourtStateFreeThrow();
		}
		return instance;
	}

	public override void enter(Court owner)
	{
		base.enter(owner);
		owner.count_ReadyToFreeThrow = 0;
		if (owner.foulTeamType == TeamType.USER)
		{
			owner.teamComputer.OnFreeThrow();
			owner.teamUser.OnParaFreeThrow();
		}
		else
		{
			owner.teamUser.OnFreeThrow();
			owner.teamComputer.OnParaFreeThrow();
		}
		if (true /*|| TutorialController.preTutorialType == TutorialType.Game_RealGame*/)
		{
			Instance<UIGame>.instance.isLockPauseBtn = false;
			Instance<UIGame>.instance.isLockPassBtn = true;
			Instance<UIGame>.instance.isLockShootBtn = true;
			Instance<UIGame>.instance.isLockJoystick = true;
		}
	}

	public override void update(Court owner, float deltaTime)
	{
		base.update(owner, deltaTime);
		if (owner.count_ReadyToFreeThrow < 9)
		{
			return;
		}
		if (owner.foulTeamType == TeamType.USER)
		{
			if (true)
			{
				Instance<UIGame>.instance.isLockPauseBtn = false;
				Instance<UIGame>.instance.isLockPassBtn = false;
				Instance<UIGame>.instance.isLockShootBtn = true;
				Instance<UIGame>.instance.isLockJoystick = true;
			}
		}
		else if (true)
		{
			Instance<UIGame>.instance.isLockPauseBtn = false;
			Instance<UIGame>.instance.isLockPassBtn = true;
			Instance<UIGame>.instance.isLockShootBtn = false;
			Instance<UIGame>.instance.isLockJoystick = true;
		}
	}
}
